"""
功能：烹饪健康结构的"心跳"信号（基础信号配方）
技术：自回归(AR)模型 + 高斯噪声模拟
比喻：调制一杯标准鸡尾酒，保证基础口感稳定
"""

import numpy as np


def cook_healthy_signal(duration=10, fs=1000, freq=5, damping=0.05, noise_level=0.1):
    """
    参数说明：
    duration : 信号时长(s) -> 菜量大小 (默认10秒)
    fs       : 采样频率(Hz) -> 味觉细腻度 (默认1000Hz)
    freq     : 基频(Hz) -> 主料浓度 (默认5Hz)
    damping  : 阻尼比 -> 口感顺滑度 (0~1)
    noise_level : 噪声强度 -> 调料辛辣度 (建议0.05~0.3)

    返回：时间向量t, 健康信号signal
    """
    t = np.linspace(0, duration, int(fs * duration))

    # 主料：衰减正弦波（模拟结构自由振动）
    #main_flavor = np.exp(-damping * 2 * np.pi * freq * t) * np.sin(2 * np.pi * freq * t)
    # 增大主信号幅值
    main_flavor = 1.5 * np.exp(-damping * 2 * np.pi * freq * t) * np.sin(2 * np.pi * freq * t)

    # 调料：高斯噪声（模拟环境干扰）
    spice = noise_level * np.random.normal(size=len(t))

    # 调制健康信号
    healthy_cocktail = main_flavor + spice

    return t, healthy_cocktail